<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 vector-feature-night-mode-enabled skin-theme-clientpref-os vector-sticky-header-enabled" lang="fr" dir="ltr"><head>
<meta charset="UTF-8">
<title>NativeScript</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://fr.wikipedia.org/wiki/NativeScript"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-NativeScript rootpage-NativeScript skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">NativeScript</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="fr" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="fr" dir="ltr"><div class="infobox_v3 infobox infobox--frwiki noarchive" style="width:260px">
<div class="entete icon informatique" style="color: #000000;"><style data-mw-deduplicate="TemplateStyles:r228712691">
/* start https://fr.wikipedia.org/ */
.mw-parser-output .entete.informatique{background-image:url("./_mw_/Picto.nfo.png")}
/* end https://fr.wikipedia.org/ */
</style>
<div>NativeScript</div>
</div>
<div class="images">
</div>
<p class="mw-empty-elt">
</p>
<table><caption style="color:#000000;">Informations</caption>
<tbody><tr>
<th scope="row">Créateur</th>
<td>
Progress Telerik</td>
</tr>
<tr>
<th scope="row"><a href="D%C3%A9veloppeur" title="Développeur">Développé par</a></th>
<td>
Communauté</td>
</tr>
<tr>
<th scope="row"> <a href="Version_d'un_logiciel" title="Version d'un logiciel">Première version</a>
</th>
<td>
<time>2014</time></td>
</tr>
<tr>
<th scope="row"> <a href="Version_d'un_logiciel" title="Version d'un logiciel">Dernière version</a>
</th>
<td>
8.1.5<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> (<time class="nowrap" datetime="2021-10-29" data-sort-value="2021-10-29">29 octobre 2021</time>)</td>
</tr>
<tr>
<th scope="row"><a href="D%C3%A9p%C3%B4t_(informatique)" title="Dépôt (informatique)">Dépôt</a></th>
<td>
<span class="wd_p1324"><a rel="nofollow" class="external text" href="https://github.com/NativeScript/NativeScript">github.com/NativeScript/NativeScript</a></span></td>
</tr>
<tr>
<th scope="row"> <a href="Langage_de_programmation" title="Langage de programmation">Écrit en</a>
</th>
<td>
<a href="JavaScript" title="JavaScript">JavaScript</a>, <a href="TypeScript" title="TypeScript">TypeScript</a></td>
</tr>
<tr>
<th scope="row"><a href="Plateforme_informatique" title="Plateforme informatique">Environnement</a></th>
<td>
<a href="Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td>
</tr>
<tr>
<th scope="row"> Type
</th>
<td>
<span class="wd_p31">Framework JavaScript <small>(<a href="https://en.wikipedia.org/wiki/JavaScript_framework" class="extiw external" title="en:JavaScript framework"><span class="indicateur-langue" title="Article sur Wikipédia en anglais">en</span></a>)</small></span></td>
</tr>
<tr>
<th scope="row"><a href="Licence_de_logiciel" title="Licence de logiciel">Licence</a></th>
<td>
<a href="Licence_Apache" title="Licence Apache">Licence Apache</a> 2.0</td>
</tr>
<tr>
<th scope="row"><a href="Site_web" title="Site web">Site web</a></th>
<td>
<span class="url"><a rel="nofollow" class="external text" href="http://www.nativescript.org">www.nativescript.org</a></span></td>
</tr>
</tbody></table>
<p class="mw-empty-elt">
</p>
</div>
<p><b>NativeScript</b> est un framework open-source pour développer des applications sur les plateformes <a href="IOS" title="IOS">iOS</a> d'<a href="Apple" title="Apple">Apple</a> et <a href="Android" title="Android">Android</a>. Il a été conçu et développé à l'origine par Progress. Les applications NativeScript sont construites en utilisant <a href="JavaScript" title="JavaScript">JavaScript</a>, ou en utilisant tout langage qui se transpose à JavaScript, comme <a href="TypeScript" title="TypeScript">TypeScript</a>. NativeScript prend en charge les frameworks JavaScript <a href="Angular" title="Angular">Angular</a> et <a href="Vue.js" title="Vue.js">Vue</a>. Les applications mobiles construites avec NativeScript donnent des applications entièrement natives, qui utilisent les mêmes API que si elles étaient développées dans <a href="Xcode" title="Xcode">Xcode</a> ou <a href="Android_Studio" title="Android Studio">Android Studio</a>. En outre, les développeurs de logiciels peuvent réutiliser des bibliothèques tierces de CocoaPods, Maven et <a href="Npm" title="Npm">npm.js</a> dans leurs applications mobiles sans avoir besoin de wrappers.
</p>
<div class="mw-heading mw-heading2"><h2 id="Développement"><span id="D.C3.A9veloppement"></span>Développement</h2></div>
<p>NativeScript a d'abord été rendu public en mars 2015. La version 1.0.0 a suivi deux mois plus tard. Le cadre a rapidement gagné en popularité, atteignant 3000 github-stars et plus de 1500 adeptes sur <a href="Twitter" class="mw-redirect" title="Twitter">Twitter</a> peu après la publication. Dans l'intervalle, plus de 700 plugins sont disponibles, qui sont soit officiellement pris en charge par Progress, soit issus de la communauté open source. L'utilisation d'Angular est une approche de développement optionnelle qui permet de partager le code source d'une application entre la plateforme web et la plateforme mobile.
</p>
<div class="mw-heading mw-heading2"><h2 id="Structure">Structure</h2></div>
<p>Le NativeScript et tous les plugins nécessaires sont installés à l'aide du gestionnaire de packages <a href="Npm" title="Npm">npm</a>. Les projets sont créés, configurés et compilés via la ligne de commande ou un outil d'interface graphique appelé NativeScript Sidekick. Les interfaces utilisateur indépendantes de la plate-forme sont définies à l'aide de fichiers <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a>. NativeScript utilise ensuite les abstractions décrites dans les fichiers XML pour appeler les éléments d'interface utilisateur natifs de chaque plateforme. La logique d'application développée en Angular et TypeScript peut également être développée indépendamment de la plate-forme cible. Une application mobile NativeScript est construite en utilisant le runtime et l'outillage de <a href="Node.js" title="Node.js">node.js</a>. Progress vise un ratio de 90 % de code commun entre les plateformes iOS et Android.
</p>
<div class="mw-heading mw-heading2"><h2 id="Accès_direct_aux_API_et_contrôles_des_plates-formes_natives"><span id="Acc.C3.A8s_direct_aux_API_et_contr.C3.B4les_des_plates-formes_natives"></span>Accès direct aux API et contrôles des plates-formes natives</h2></div>
<p>Les interfaces utilisateurs indépendantes de la plate-forme sont définies à l'aide de fichiers <a href="Extensible_Markup_Language" title="Extensible Markup Language">XML</a>. NativeScript utilise les structures de données XML représentant l'abstraction inter-plateforme pour déclencher un code spécifique à la plateforme qui interagit directement avec les éléments natifs du système d'exploitation cible. Cela signifie qu'un appel à l'API NativeScript Button fournit une abstraction d'interface utilisateur pour Button, qui appelle directement UIButton sur iOS ou com.android.widget.Button sur Android.
</p><p>Bien que le code source des applications soit écrit en JavaScript, TypeScript, Angular, ou Vue.js, le code source n'est pas compilé ou muté. Le code source tel quel s'exécute directement sur l'appareil. Ce choix architectural élimine le besoin de compilation croisée ou de transpilation. De plus, alors que le code source de l'application est écrit dans des langues couramment rencontrées dans un navigateur (ou dans une application mobile contenant WebView), les applications NativeScript s'exécutent directement sur l'appareil natif. Il n'y a aucune manipulation DOM ni aucune interaction obligatoire avec le navigateur.
</p>
<div class="mw-heading mw-heading2"><h2 id="Caractéristiques_notables"><span id="Caract.C3.A9ristiques_notables"></span>Caractéristiques notables</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Réflexion_sur_les_API_natives"><span id="R.C3.A9flexion_sur_les_API_natives"></span>Réflexion sur les API natives</h3></div>
<p>Une autre caractéristique notable est l'utilisation de la réflexion pour traiter les paramètres API natifs. Plutôt que d'exiger des couches de liaison séparées entre NativeScript et chaque API de plate-forme mobile, NativeScript utilise la réflexion pour obtenir des informations et des métadonnées sur les API de plate-forme natives. Les nouvelles fonctionnalités ajoutées à toute API de plate-forme native sont disponibles immédiatement<sup id="cite_ref-infoworld2893706_2-0" class="reference"><a href="#cite_note-infoworld2893706-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>.
</p><p>Une autre façon d'utiliser la fonction de réflexion est de travailler avec des bibliothèques tierces. Comme JavaScript (ou TypeScript/Angular) peut parler directement au code natif, il n'est pas nécessaire d'écrire des couches de liaison en <a href="Objective-C" title="Objective-C">Objective-C</a>, Swift, Java ou Kotlin<sup id="cite_ref-visualstudiomagazine20150309_3-0" class="reference"><a href="#cite_note-visualstudiomagazine20150309-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup><sup class="reference cite_virgule">,</sup><sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Intégration_de_Angular"><span id="Int.C3.A9gration_de_Angular"></span>Intégration de Angular</h3></div>
<p>Avec le lancement de NativeScript 2.0, il est possible d'utiliser Angular pour créer des applications mobiles multiplateformes. De plus, en utilisant Angular avec NativeScript, vous avez la possibilité de partager de grandes parties de code entre vos <a href="Application_web" title="Application web">applications web</a> et mobiles.
</p>
<div class="mw-heading mw-heading3"><h3 id="Intégration_de_Vue.js"><span id="Int.C3.A9gration_de_Vue.js"></span>Intégration de Vue.js</h3></div>
<p>Le framework Vue.js est pris en charge en NativeScript via le <a href="Plugin" title="Plugin">plugin</a> nativescript-vue.
</p>
<div class="mw-heading mw-heading2"><h2 id="Outils_et_services_de_soutien">Outils et services de soutien</h2></div>
<ul><li>NativeScript Sidekick est une <a href="Interface_graphique" title="Interface graphique">interface utilisateur graphique</a> qui s'appuie sur les capacités fournies par le NativeScript CLI. Avec Sidekick, un développeur peut exploiter des modèles d'applications, des constructions en nuage pour iOS et Android, et publier des applications dans les boutiques d'applications publiques. NativeScript Playground permet aux développeurs d'expérimenter NativeScript dans un environnement web et de prévisualiser les applications sur des appareils physiques. NativeScript Marketplace est une source de plugins NativeScript, de modèles d'applications préconstruits et d'exemples d'applications exécutables.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Références"><span id="R.C3.A9f.C3.A9rences"></span>Références</h2></div>
<div class="references-small decimal" style=""><div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://github.com/NativeScript/NativeScript/releases/"><cite style="font-style:normal;" lang="en">Releases · NativeScript/NativeScript</cite></a> », sur <span class="italique">GitHub</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2023-11-20" data-sort-value="2023-11-20">20 novembre 2023</time>)</small></span>.</span>
</li>
<li id="cite_note-infoworld2893706-2"><span class="mw-cite-backlink"><a href="#cite_ref-infoworld2893706_2-0">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="http://www.infoworld.com/article/2893706/mobile-development/javascript-native-ios-android-and-windows-phone-apps.html"><cite style="font-style:normal;" lang="en">JavaScript goes native for iOS, Android, and Windows Phone apps</cite></a> », sur <span class="italique">InfoWorld</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-09-04" data-sort-value="2020-09-04">4 septembre 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-visualstudiomagazine20150309-3"><span class="mw-cite-backlink"><a href="#cite_ref-visualstudiomagazine20150309_3-0">↑</a> </span><span class="reference-text"><span class="ouvrage"><abbr class="abbr indicateur-langue" title="Langue : anglais">(en)</abbr> « <a rel="nofollow" class="external text" href="https://visualstudiomagazine.com/articles/2015/03/09/telerik-nativescript-beta-mobile.aspx"><cite style="font-style:normal;" lang="en">Telerik's NativeScript Aims To Centralize Cross-Platform Mobile Development -- Visual Studio Magazine</cite></a> », sur <span class="italique">Visual Studio Magazine</span> <small style="line-height:1em;">(consulté le <time class="nowrap" datetime="2020-09-04" data-sort-value="2020-09-04">4 septembre 2020</time>)</small></span>.</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a> </span><span class="reference-text"><a rel="nofollow" class="external free" href="https://docs.nativescript.org/core-concepts/accessing-native-apis-with-javascript">https://docs.nativescript.org/core-concepts/accessing-native-apis-with-javascript</a></span>
</li>
</ol></div>
</div>
<div class="mw-heading mw-heading2"><h2 id="Voir_aussi">Voir aussi</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Articles_connexes">Articles connexes</h3></div>
<ul><li><a href="React_Native" title="React Native">React Native</a></li>
<li><a href="Xamarin" title="Xamarin">Xamarin</a></li>
<li><a href="Appcelerator_Titanium" title="Appcelerator Titanium">Titanium</a></li></ul>
<div class="mw-heading mw-heading3"><h3 id="Liens_externes">Liens externes</h3></div>
<ul><li><cite class="ouvrage" id="site_officiel" style="font-style: normal;"><span class="wd_p856"><a rel="nofollow" class="external text" href="https://nativescript.org/">Site officiel</a></span></cite></li></ul>
<ul id="bandeau-portail" class="bandeau-portail"><li><span class="bandeau-portail-element"><span class="bandeau-portail-icone"><span class="noviewer" typeof="mw:File"></span></span> <span class="bandeau-portail-texte">Portail des logiciels libres</span> </span></li> </ul></div><!--htdig_noindex--><div><div class="zim-footer">
Cet article est issu de <a class="external text" title="Dernière modification le 2024-11-19" href="https://fr.wikipedia.org/wiki/?title=NativeScript&oldid=220432241">Wikipédia</a>. Sauf mention contraire, le texte est disponible sous <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.fr">Creative Commons Attribution-Share Alike 4.0</a>. Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>